package day14_Set和Map集合.code.day14.src.cn.tedu.api;

import java.util.LinkedList;

//测试 LinkedList
/**LinkedList--1.链表结构,有下标索引的,但是查询慢,增删快(只要绑定前后
 2个元素就可以了)
               2.链表的首尾元素比较特殊,包含了对首尾元素的操作的方法
 */

public class Test3_LinkedList {
    public static void main(String[] args) {
        //1,创建对象
        LinkedList<Integer> list = new LinkedList();
        //2,调用方法
        //TODO 继承自List父接口的方法
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        System.out.println(list);

        //自己扩展的方法--针对首尾元素处理
        list.addFirst(100);//添加首元素
        list.addLast(200);//添加尾元素

        list.add(3,50); //指定的位置添加元素
        list.add(5,10);

        list.remove(new Integer(50));//移除元素
        System.out.println(list);
        System.out.println(list.getFirst());//获取首元素
        System.out.println(list.getLast());//获取尾元素
        System.out.println(list.removeFirst());//移除首元素
        System.out.println(list.removeLast());//移除尾元素
        System.out.println(list);
 //TODO 另一套 API
//        boolean offerFirst(E e)
//        boolean offerLast(E e)
//        E peekFirst()
//        E peekLast()
//        E pollFirst()
//        E pollLast()

        //TODO 迭代LinkedList
        //继承自Collection的iterator()
        //继承自List的ListIterator()
        //普通的for循环
        //增强for循环
    }
}
